package com.xiaoshuidi.cloud.module.contract.dal.mysql.fee;

import com.xiaoshuidi.cloud.framework.mybatis.core.mapper.BaseMapperX;
import com.xiaoshuidi.cloud.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.xiaoshuidi.cloud.module.contract.controller.admin.fee.vo.FeesListRespVO;
import com.xiaoshuidi.cloud.module.contract.controller.admin.fee.vo.FeesRespVO;
import com.xiaoshuidi.cloud.module.contract.dal.dataobject.fee.FeesDO;
import com.xiaoshuidi.cloud.module.contract.vo.FeesApiVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 费项配置 Mapper
 *
 * @author 合房租赁
 */
@Mapper
public interface FeesMapper extends BaseMapperX<FeesDO> {

    default List<FeesDO> getFeeTypesByName(Long feeTypeId) {
        return selectList(new LambdaQueryWrapperX<FeesDO>()
                .eq(FeesDO::getFeeTypeId,feeTypeId));
    }
    List<FeesListRespVO> selectFeesListByFeeType(@Param("feeSort") String feeSort, @Param("tenantId") Long tenantId);


    List<FeesRespVO> selectFeesListAll(@Param("tenantId") Long tenantId);

    void initializationSystemFeesData(@Param("tenantId") Long tenantId);

    List<FeesRespVO> selectFeesTypeListAll(@Param("tenantId") Long tenantId);

    List<FeesApiVo> selectFeesList(@Param("tenantId") Long tenantId);
}
